還記得Day01我們一步一步建立的Spring MVC專案嗎,我們把前端來的請求都轉交給DispatchServlet處理的設定嗎,請參考Spring官網寫的設定
<web-app>
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>/WEB-INF/app-context.xml</param-value>
	</context-param>
	<servlet>
		<servlet-name>app</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value></param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>app</servlet-name>
		<url-pattern>/app/*</url-pattern>
	</servlet-mapping>
</web-app>
接下來,你一定會很好奇Spring Boot怎麼自動裝配這樣的設定,

我們導入web-starter就幫我們自動配置好相對應需要的Component例如:DispatcherServlet、tomcat等等。
我們先來看看Spring Boot都幫我們載入了哪些東西,SpringApplication.run回傳了ConfigurableApplicationContext,就從他找東西吧
果然dispatchServlet在容器內
場景啟動器中的spring-boot-starter,透過autoconfigure進行按需自動裝配
autoconfigure中有包山包海的自動裝配
導入spring-boot-starter-xxx -> 觸發spring-boot-autoconfigure -> DI container就會有對應的功能